/**
 * 
 */
package com.pe.pgn.clubpgn.service;

import java.util.Calendar;
import java.util.List;
import java.util.Map;


import com.pe.pgn.clubpgn.domain.ClpbClientePersona;
import com.pe.pgn.clubpgn.domain.ClpbEmpresaCelular;
import com.pe.pgn.clubpgn.domain.ClpbEstadoCivil;
import com.pe.pgn.clubpgn.domain.ClpbTipoDocumentoPersona;
import com.pe.pgn.clubpgn.domain.ClpmUbigeo;
import com.pe.pgn.clubpgn.domain.beans.BNClientesPersona;

/**
 * @author Edwin Farfan
 *
 */

@SuppressWarnings("unchecked")
public interface ClientePersonaService {
	
	public List<ClpbClientePersona> obtenerClientePersonas();
	public void  guardarClientePersona(ClpbClientePersona clientePersona);
	public BNClientesPersona obtenerClientePersona(Long id);
	public void eliminarClientePersona(Long id);

	public List<BNClientesPersona> busquedaClientesPorFiltros(String nroDocumento, String cliente, String eliminado, String habilitado, 
			String fechaInicio,String fechaFinal)throws Exception;
	
	public List<ClpbTipoDocumentoPersona> listadoDocumentoPersonas();
	public List<ClpmUbigeo> listadoDistritos();
	public List<ClpbEmpresaCelular> listadoEmpresaCelular();
	public List<ClpbEstadoCivil> listadoEstadoCivil();

	public boolean getMayorDeEdad(Calendar fecha);
	public List<Map<String, Object>> verificarDuplicidadDocumento(String documento);
	public int validaDocumento(Long id);
	public boolean clienteTieneDependencias(Long id );
	public List<BNClientesPersona> obtenerBNClientePersonas() throws Exception;
	public List<BNClientesPersona> obtenerListaClientesPersona() throws Exception;
	public List<ClpbEstadoCivil> listarEstadosCiviles(boolean addItemDefault);
	
	//displaytag
	public String findAllObjects(String criteria, String[] filters);
	public List getObjects(int firstResult, int maxResults, String orderBy,	boolean ascending, String[] filters);
	public String getObjectsName();
	public int getNumberOfObjects(String[] filters);
	public String getNumberOfObjectsName();
}
